// 高精度乘法
// 测试链接：https://www.luogu.com.cn/problem/P1303
// 参考帖子：https://www.cnblogs.com/dx123/p/16654640.html
// 相关帖子 ：https://oi-wiki.org/math/bignum/
// 提交以下的code，可以直接通过

#include <bits/stdc++.h>

using namespace std;

const int MAXN = 4010;
int A[MAXN], B[MAXN], C[MAXN];
int la, lb, lc;

// c = a * b
void mul(int a[], int b[], int c[])
{
    for(int i = 0; i < la; ++i)
    {
        for(int j = 0; j < lb; ++j)
        {
            c[i + j] += a[i] * b[j];       // 存乘积
            c[i + j + 1] += c[i + j] / 10; // 存进位
            c[i + j] %= 10;                // 存余数
        }
    }
    while(lc > 0 && c[lc] == 0) --lc; // 处理前导零
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    /*
    高精度加法的步骤：
    1. 高精度数字利用字符串读入
    2. 把字符串翻转存入两个整形数组 A，B
    3. 从低位到高位，累加乘积，进位，存余
    4. 把数组 C 从高位到低位依次输出
    */

    string sa, sb;
    cin >> sa >> sb;
    
    la = sa.size(), lb = sb.size(), lc = la + lb;
    // 字符串翻转
    for(int i = 0; i < la; ++i) A[i] = sa[la - 1 - i] - '0';
    for(int i = 0; i < lb; ++i) B[i] = sb[lb - 1 - i] - '0';
    mul(A, B, C);
    for(int i = lc; i >= 0; --i) printf("%d", C[i]);

    return 0;
}